/*
 * @Descripttion: 
 * @version: 
 * @Author: wtzhang
 * @Date: 2021-07-05 13:47:22
 * @LastEditors: wtzhang
 * @LastEditTime: 2021-07-05 14:53:37
 */

// 使用 class 创建类
/**
 * 对象中主要包含了两个部分：
 * 1.属性
 * 2.方法
 */
class Person {
  // 定义属性(实例属性)
  /**
   * 实例属性： 
   * 属性直接存储在类的实例的
   */
  name: string = "Jack"
  age: number = 21
}
// 访问实例属性，要先 new 一下
const per = new Person()
console.log(per.name);

// 类属性
// class Person1 {
//   static name1: string = 'Rose'
// }
// console.log(Person1.name1)

// class Person2 {
//   readonly name = '孙悟空'
// }
// const per2 = new Person2()
// console.log(per2.name);
// per2.name = '猪八戒'
// console.log(per2.name);


// 方法
class Person3 {
  // 实例方法
  sayHi() {
    console.log('say: hi，嗨！')
  }
  // 类方法
  static sayHello() {
    console.log('say: hello, 哈喽！');
  }
}
// 实例方法调用
const per3 = new Person3();
per3.sayHi()
// 类方法调用
Person3.sayHello()
